SEARCH KEYWORD -- API Writing
Building the new AJAX mail UI part 2: Better than templates, building highly dynamic web pages
This is part 2 of a series of technical posts documenting some of the interesting work and technologies we’ve used to power the new interface (see also part 1, Instant notifications of new emails via eventsource/server-sent events). Regular users can skip these posts, but we hope technical users find them interesting. As dynamic websites constructed entirely on the client side become de rigueur, there are a number of templating languages battling it out to become the One True Wayâ„...
Web design,Dynamic,Ajax,UI 2012-02-21 05:32:29
Don't Overload #nil?
There’s a popular post on Hacker News about writing confident code by, among other things, overloading Object#nil? and returning “null objects†instead of nil itself.DO NOT DO THIS.In Ruby, all objects (except nil itself) coerce to the boolean value true. Your object will be nil and true at the same time. Bad things will happen. Your coworkers will cry. Sad people from around the world will ask bewildering questions on your mailing list.Here’s what happen...
Getting the most out of your pixels - adapting to view state changes
In Windows 8, your apps run on a variety of screen sizes and under various view states. A user might have your app snapped to the side of a 25-inch desktop monitor, or fill the whole screen of a 10-inch widescreen tablet. In each case, you want your app to take full advantage of the available space. In this post, I show you how you can track the current size and view state of your app in code, and give you tips on how to write your app in the Windows 8 Consumer Preview to handle screen si...
Windos 8,Metro,Resolution,Style 2012-04-23 06:13:02
A brief guide to tech internships
Planning to be an Intern in the Bay Area during Summer 2012? Make sure to read an Intern's Guide to the Bay Area, and join the 2012 Facebook group. (via this guy, via this guy) Joel Spolsky, from the Joel On Software blog and StackOverflow, wrote an article with Advice for Computer Science College Students back in '05. According to Joel, No matter what you do, get a good summer internship. As such: here’s everything you ever wanted to know about tech inter...
Internship,Advice,CS student 2012-02-01 04:48:31
What matters in life (and what doesn’t)
I’m probably too young to be writing on this topic but observing countless souls distressed by daily life made me think hard on what is that really matters in life. Undoubtedly, there are happy and sad phases and that’s part-and-parcel of life. But what I’m really bothered about is general, daily bitching about how miserable one’s life has become. You find people complaining about work, commute, relationships, other people’s attitudes & personalit...
Life,Matater,Relationship,Experience,Material possession,Ego 2011-10-24 11:57:27
Avoiding and exploiting JavaScript's warts
One's sentiment toward JavaScript flips between elegance and disgust without transiting intermediate states. The key to seeing JavaScript as elegant is understanding its warts, and knowing how to avoid, work around or even exploit them. I adopted this avoid/fix/exploit approach after reading Doug Crockford's JavaScript: The Good Parts: Doug has a slightly different and more elaborate take on the bad parts and awful parts, so I'm sharing my perspective on the four issues that ha...
JavaScript,warts,Exploit,with,variable,this 2012-02-15 05:51:21
JavaScript efficiency catch up
JavaScript is a very flexible language, we can write JavaScript code freely with various styles, different kinds of codes will have different execution efficiency. Here we summarize some tips we get from our development. Efficiency of JavaScript itself JavaScript has execution context chain, closures, prototype inheritance, eval etc. It brings us some magic features, but it also introduces the performance issue, if we don't use them properly, it will affect the codes execution efficiency. 1. Glo...
JavaScript,efficiency,event delegation,eval 2013-04-02 04:08:46
Python – parallelizing CPU-bound tasks with multiprocessing
In a previous post on Python threads, I briefly mentioned that threads are unsuitable for CPU-bound tasks, and multiprocessing should be used instead. Here I want to demonstrate this with benchmark numbers, also showing that creating multiple processes in Python is just as simple as creating multiple threads. First, let’s pick a simple computation to use for the benchmarking. I don’t want it to be completely artificial, so I’ll use a dumbed-down version of factorization...
Python,Multitasking,Multiprocessing,CPU bound 2012-01-17 11:38:22
What else is new in C# 5?
The big new feature in C# 5 is asynchronous programming support, which I wrote about last week. However, the C# folks have also slipped in a couple of smaller features and I thought I’d round things out by mentioning those. Method caller information There’s a complete style guide to be written on Writing Enterprisey Code, but one of my favourite “enterprisey†tells, after the use of Visual Basic, is obsessively logging every function you pass through: Function Ad...
C# 5,New feature,Analysis 2012-03-20 07:45:11
HP To Apple: You Win.
As I write this, I’m sitting in a cafe. Around me, there are five people on laptops — four of them are MacBooks. Four other people are using tablets — all four are iPads. Welcome to the Post-PC world. That phrase was one of the first things that jumped to my mind today when I heard the news that HP was not only killing off their TouchPad and Pre webOS-based products, but also trying to spin-off their PC business. The largest PC busine...
HP,Apple,Palm,Competition,webOs 2011-08-19 07:38:41
RECENT
- Common Pitfalls When Handling JSON in Golang
- Streamlining the Project Invoicing Process: Tools and Strategies
- Performance comparison of string concatenation in Go language
- Why init() is not recommended in Go
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- more>>